// pages/details/details.js
import {GetGoodsDetailApi,GetGoodsRelatedApi,AddToCartApi,GetCartCountApi} from "../../request/api"
import mustbeLogin from '../../utils/mustbeLogin'
Page({

  /**
   * 页面的初始数据
   */
  data: {
      // 轮播图数组
      gallery: [],
      // 产品信息
      info: {
        name: "",
        goods_brief: "",
        retail_price: 0
      },
      // 产品参数
      attribute: [],
      // 常见问题
      issue: [],
      // productList
      productList: [],
      goodsList: [],
      isCollected: false,
      // 展示弹出层
      isShowSku: true,
      // 步长值
      skuStepNumber: 1,
      // 购物车数量
      cartTotal: 0
  },
  collectToggle(){
    // 强制跳转登录的功能
    if(mustbeLogin()){
      return
    }
   this.setData({
    isCollected: !this.data.isCollected
   })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: async function (options) {
    // 保存详情页id到全局(供登录返回上一页使用)
    getApp().globalData.detailsID = options.id
    let res = await GetGoodsDetailApi({
      data:{
        id:options.id
      }
    });
    let {gallery, info, attribute, issue, productList} = res.data;
    // replace替换字符（替换所有的图片，给图片加上类名img）
    info.goods_desc = info.goods_desc.replace(/<img/g, '<img class="img"');

    // 请求相关产品的数据
    let relatedRes = await GetGoodsRelatedApi({
      data:{
        id:options.id
      }
    });

   // 获取购物车产品数量的请求
    let CartCountRes = await GetCartCountApi()
    this.setData({
      gallery, info, attribute, issue, productList,
      goodsList: relatedRes.data.goodsList,
      cartTotal: CartCountRes.data.cartTotal.goodsCount
    })
  },
  onCloseSku(){
    this.setData({
      isShowSku: false
    })
  },
  onShowSku(){
    this.setData({
      isShowSku: true
    })
  },
  onStepChange(e) {
    this.setData({
      skuStepNumber: e.detail
    })
  },
  // 点击购物车时
  goToCart(){
    // 强制跳转登录的功能
    if(mustbeLogin()){
      return
    }
    // 跳转到购物车页面
    wx.switchTab({
      url: '/pages/cart/cart',
    })
  },
  async addToCart(){
    // 如果显示sku，就隐藏掉
    if(this.data.isShowSku){
      this.onCloseSku()
      // 强制跳转登录
      if(mustbeLogin()){
        return
      }
      // 加入购物车
      let res = await AddToCartApi({
        method: 'POST',
        data:{
          goodsId: getApp().globalData.detailsID,
          productId: this.data.productList[0].id,
          number: this.data.skuStepNumber
        }
      })
      // 显示购物车数量
      this.setData({
        cartTotal: res.data.cartTotal.goodsCount
      })


    }else{
      this.onShowSku()
    }
  },
  goToBuy(){
    wx.showToast({
      title: '暂不支持该功能',
      icon: 'none'
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})